<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
  <h1>商品列表界面</h1>
  <table border="1">
    <caption>商品列表</caption>
    <tr><th>id</th><th>标题</th><th>价格</th><th>库存</th><th>操作</th></tr>
    <tr v-for="p in arr">
      <td>{{p.id}}</td><td>{{p.title}}</td><td>{{p.price}}</td><td>{{p.num}}</td>
      <!--javascript:void(0)是禁用超链接跳转-->
      <td>
        <a :href="'/update.html?id='+p.id">修改</a>
        <a href="javascript:void(0)" @click="del(p.id)">删除</a>
      </td>
    </tr>
  </table>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="https://cdn.staticfile.org/vue/2.6.14/vue.min.js"></script>
<script>
  let v = new Vue({
    el:"body>div",
    data:{
      arr:[{id: 1,title: "冰红茶",price: 5,num: 100}]
    },
    methods:{
      del(id) {
        if (confirm("确认删除此商品吗？")) {
          // 发出异步post
          axios.post("/deleteById?id="+id).then(function () {
            location.reload();// 刷新页面
          })
        }
      }
    },
    // 此方法是VUE对象实例化过程中调用的方法，进入页面立即发请求的代码写在这
    created:function () {
      axios.get("/select").then(function (response) {
        // axios框架当发现服务器的数据为JSON格式的字符串时会自动转成对象（一个对象）或数组（多个对象）
        v.arr = response.data;// 接收到的是数组，因为springMVC框架自动将list集合转成了String类型，再通过String类型转为数组类型
      })
    }
  })

</script>
</body>
</html>